package com.hrpmar.service;

import com.hrpmar.controller.dto.MedicperDto;
import com.hrpmar.pojo.*;
import com.hrpmar.utils.Pager;

import java.util.List;

/**
 * Created by 李松松 on 2017/11/15.
 * 医护人员管理系统
 */
public interface MedicperService {


    /**
     * 医护人员条件查询
     * @param dto
     * @param offset
     * @param limit
     * @return
     */
    public Pager searchByMedicperByWhere(MedicperDto dto,Integer offset,Integer limit);

    /**
     * 根据登陆获取Role
     * @param wo_jubnum
     * @return
     */
    public List<Role> getRoleByWoJubnum(Integer wo_jubnum);

    public List<Division> getDivision();

    /**
     * 根据员工编号获取详情信息
     * @param woJubnum
     * @return
     */
    public Worker searchDisplayInfo(String woJubnum);


    /**
     * 医护人员添加
     * @param worker
     * @return
     */
    public Integer addWorkerAndMedicperAspect(Worker worker, Medicper medicper);

    /**
     * 获取最后一个编号
     * @return
     */
    public String searchDescWorker();

    /**
     * 根据角色获取部门
     * @param roleId
     * @return
     */
    public Department searchByroleId(Integer roleId);

    /**
     * 根据员工编号获取科室
     * @param woJubnum
     * @return
     */
    public Division searchDivisionBywoJubnum(String woJubnum);

    /**
     * 删除
     * @param woIds
     * @param perIds
     * @return
     */
    public Integer delWorkerAndMedicper(String[] woIds,String[] perIds);


    /**
     * 上一个
     * @param perId
     * @return
     */
    public Worker topWorkerOne(MedicperDto dto,Integer perId);
    /**
     * 下一个
     * @param perId
     * @return
     */
    public Worker NextWorkerOne(MedicperDto dto,Integer perId);

    /**
     * 根据角色编号获取角色
     * @param roleId
     * @return
     */
    public Role getRoleByroleId(Integer roleId);


    /**
     * 获取当前的上一个
     * @param perId
     * @return
     */
    public Medicper searchTopPerId(MedicperDto dto,Integer perId);
    /**
     * 获取当前的下一个
     * @param perId
     * @return
     */
    public Medicper searchNextPerId(MedicperDto dto,Integer perId);

    /**
     * 修改查询详情
     * @param woJubnum
     * @return
     */
    public Medicper searchmedicperX(String woJubnum);

    /**
     * 修改医护人员
     * @param medicper
     * @param worker
     * @return
     */
    public Integer updateMedicperAspect(Medicper medicper,Worker worker);

}
